﻿using System;
using System.Reflection;

namespace My.Ioc.Condition
{
    public interface IInjectionTargetInfo
    {
        #region Information about the ParameterInfo/PropertyInfo (Target) that will be injected into

        /// <summary>
        /// Gets the name of the target.
        /// </summary>
        /// <remarks>This could be the <c>Name</c> of <see cref="ParameterInfo"/> or <see cref="PropertyInfo"/>.</remarks>
        string TargetName { get; }
        Type TargetType { get; }
        int TargetMetadataToken { get; }
        ICustomAttributeProvider TargetAttributeProvider { get; }

        #endregion
    }
}